package biz.datalk.industrialland.admin.modules.common.servie;

import biz.datalk.industrialland.admin.modules.common.pojo.dto.CaptchaDTO;
import biz.datalk.industrialland.admin.modules.common.pojo.dto.CodeDTO;
import biz.datalk.industrialland.admin.modules.common.pojo.dto.LoginWithCodeDTO;
import biz.datalk.industrialland.admin.modules.common.pojo.vo.CaptchaVO;
import biz.datalk.industrialland.admin.modules.common.pojo.vo.GetUserInfoVO;
import biz.datalk.industrialland.admin.modules.common.pojo.vo.LoginWithCodeVO;
import biz.datalk.industrialland.mbg.pojo.po.SysUser;

/**
 * @author tarofang@163.com
 * @date 2023-09-05
 */
public interface IAuthService {

    /**
     * 获取图形验证码
     *
     * @param dto 入参
     *
     * @return 出参
     *
     * @author tarofang@163.com
     * @date 2023年09月05日
     */
    CaptchaVO captcha(CaptchaDTO dto);


    /**
     * 获取手机验证码
     *
     * @param dto 入参
     *
     * @author tarofang@163.com
     * @date 2023年09月05日
     */
    void code(CodeDTO dto);

    void loginOut();


    SysUser selectByUsername(String username);

    /**
     * 手机验证码登录
     *
     * @param dto 入参
     *
     * @return 出参
     *
     * @author tarofang@163.com
     * @date 2024年02月20日
     */
    LoginWithCodeVO loginWithCode(LoginWithCodeDTO dto);

    /**
     * 获取登录账号的用户信息
     *
     * @return 出参
     *
     * @author tarofang@163.com
     * @date 2024年02月20日
     */
    GetUserInfoVO getUserInfo();
}
